﻿using B.S.RbacData.Domain;
using B.S.RbacData.Domain.Traceabilitys;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;

namespace B.S.RbacData.Infrastructure
{
    public class DataDbcontext : DbContext
    {
        public DataDbcontext(DbContextOptions options) : base(options)
        {
        }

        #region RBAC设计信息
        /// <summary>
        /// 权限信息列表
        /// </summary>
        public DbSet<PermissionModel> permissions { get; set; }


        /// <summary>
        /// 角色信息列表
        /// </summary>
        public DbSet<RoleModel> roles { get; set; }

        /// <summary>
        /// 角色权限关联表
        /// </summary>
        public DbSet<RolePermissionModel> rolePermissions { get; set; }

        /// <summary>
        /// 用户信息列表
        /// </summary>

        public DbSet<UserModel> users { get; set; }


        /// <summary>
        /// 用户角色信息列表
        /// </summary>
        public DbSet<UserRoleModel> userRoles { get; set; }

        #endregion

        #region 溯源信息

        /// <summary>
        /// 商品信息列表
        /// </summary>
        public DbSet<GoodsModel> Goods { get; set; }
        /// <summary>
        /// 产品信息列表
        /// </summary>
        public DbSet<ProductModel>  Products { get; set; }

        /// <summary>
        /// 图片信息列表
        /// </summary>
        public DbSet<ImagesModel> Images { get; set; }
        /// <summary>
        /// 养殖信息列表
        /// </summary>
        public DbSet<FarmingModel> Farmings { get; set; }
        /// <summary>
        /// 养殖企业信息
        /// </summary>
        public DbSet<FarmingCorporateModel> FarmingCorporates{ get; set; }
        /// <summary>
        /// 养殖保健信息
        /// </summary>

        public DbSet<FarmingHealthcareModel> FarmingHealthcares { get; set; }

        /// <summary>
        /// 屠宰企业信息列表
        /// </summary>

        public   DbSet<SlaughterCorporateModel> SlaughterCorporates { get; set; }

        /// <summary>
        /// 屠宰信息列表
        /// </summary>
        public DbSet<SlaughterModel> Slaughters { get;set; }

        /// <summary>
        /// 地址区域信息列表
        /// </summary>
        public DbSet<AddressAreaModel> AddressAreas { get; set; }

        /// <summary>
        /// 深加工企业信息列表
        /// </summary>
        public DbSet<DeepProcessingCorporateModel> DeepProcessingCorporates { get; set; }


        /// <summary>
        /// 深加工信息列表
        /// </summary>
        public DbSet<DeepProcessingModel> DeepProcessings { get; set; }

        /// <summary>
        /// 供应商信息列表
        /// </summary>
        public DbSet<SupplierModel> Suppliers { get; set; }

        /// <summary>
        /// 溯源码QR码模型
        /// </summary>
        public DbSet<QRCodeModel> QRCodes { get; set; }
        #endregion

    }
}
